package org.example.ai04.dto;

import java.util.List;

/**
 * 聊天响应数据传输对象
 * 封装与简历相关的聊天功能响应结果，作为REST API的统一响应格式
 * 包含AI模型生成的回答内容和完整的聊天消息历史，便于前端展示和交互
 */
public class ChatResponse {
    /**
     * AI模型生成的回答内容
     * 对用户提问的回复文本
     */
    private String answer;
    
    /**
     * 聊天消息列表
     * 包含用户提问和AI回答的完整对话历史
     */
    private List<ResumeData.ChatMessage> messages;

    /**
     * 构造函数
     * @param answer AI生成的回答内容
     * @param messages 聊天消息列表
     */
    public ChatResponse(String answer, List<ResumeData.ChatMessage> messages) {
        this.answer = answer;
        this.messages = messages;
    }

    /**
     * 获取AI回答内容
     * @return AI生成的回答文本
     */
    public String getAnswer() { 
        return answer; 
    }
    
    /**
     * 设置AI回答内容
     * @param answer 要设置的回答文本
     */
    public void setAnswer(String answer) {
        this.answer = answer;
    }
    
    /**
     * 获取聊天消息列表
     * @return 包含完整对话历史的消息列表
     */
    public List<ResumeData.ChatMessage> getMessages() { 
        return messages; 
    }
    
    /**
     * 设置聊天消息列表
     * @param messages 要设置的消息列表
     */
    public void setMessages(List<ResumeData.ChatMessage> messages) {
        this.messages = messages;
    }
}